package com.example.design.bilibili.flyweight;

public class FlyWeightDemo {

    public static void main(String[] args) {

        //小结
        //1、在Value Of 方法中，先判断值在IntegerCache中，如果不在，就创建新的Integer（new）,否则，就执行从缓存中返回
        //2、valueOf方法，就使用到享元模式
        //3、如果使用valueOf方法得到一个Integer实例，范围在-128-127，执行速度比new快
        Integer x = Integer.valueOf(127);//得到x实例，类型Integer
        Integer y = new Integer(127);//得到y实例，类型Integer
        Integer z = Integer.valueOf(127);
        Integer w = new Integer(127);

        System.out.println(x.equals(y));//大小，true
        System.out.println(x==y);//false
        System.out.println(x==z);//true
        System.out.println(w==x);//false
        System.out.println(w==y);//false

        Integer x1 = Integer.valueOf(200);
        Integer x2 = Integer.valueOf(200);
        System.out.println("x1==x2:"+(x1 ==x2));
    }
}
